package org.platform.mo.db;

import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;

@Table(name = "tb_fd_testparams_ber")
@Data
public class FdTestparamsBer {
    /**
     * ID
     */
    @Id
    @Column(name = "ID")
    private String id;

    /**
     * 诊断ID
     */
    @Column(name = "DiagnoseID")
    private String diagnoseid;

    /**
     * 通道ID
     */
    @Column(name = "ChannelID")
    private Integer channelid;
    /**
     * 测试子项序号(格式：XXX，从1开始编号，不足三位补零)
     */
    @Column(name = "TestSubID")
    private String testsubid;

    /**
     * 精度范围 “-5;-7”表示测试测试误码范围为 -5~ -7
     不含引号。
            
     */
    @Column(name = "TestRange")
    private String testrange;

    /**
     * 闭环类型(IFLoopTest（中频闭环测试）
            XRFLoopTest（X射频，不带场放）
            SRFLoopTest（S射频，不带场放）
            SLongLoopTest（大环测试，含场放）
            XLongLoopTest（大环测试，含场放）
            )
     */
    @Column(name = "LoopType")
    private String looptype;

    /**
     * 设备链路(
            LNA=“设备编号”;
            UC=“设备编号”;
            DC=“设备编号”;
            MOD=“设备编号”;
            Demod=“设备编号”;
            设备编号之间采用“;”隔开
            )
     */
    @Column(name = "DevLink")
    private String devlink;

    /**
     * 测试频率
     */
    @Column(name = "Frequency")
    private Integer frequency;

    /**
     * 调制方式(0：BPSK
            1：QPSK
            2：OQPSK
            3：GMSK
            4：UQPSK
            5：8PSK
            6：16QAM
            7：32APSK
            8：64APSK
            9：VCM
            )
     */
    @Column(name = "ModulationMode")
    private Integer modulationmode;

    /**
     * 相位旋转(0：CCSDS
            1：Inverted
            （仅16QAM/8PSK）
            )
     */
    @Column(name = "PhaseRotation")
    private Integer phaserotation;

    /**
     * 相位映射(0：Natural
            1：Gray1
            2：Gray2
            3：Gray3
            4：Gray4
            5：Gray5
            6：Gray6
            7：Natural2
            )
     */
    @Column(name = "Mapping")
    private Integer mapping;


    /**
     * IQ功率比(IQ功率比
            单位dB
            （UQPSK）
            )
     */
    @Column(name = "IQPowerRation")
    private Float iqpowerration;

    /**
     * 成形滤波(0：NoFilter
            1：Raised Cosine Filter
            2：RootRaised Cosine Filter
            3：GSMK
            )
     */
    @Column(name = "MatchedFilter")
    private Integer matchedfilter;

    /**
     * 数据源(0：PN7
            1：PN10
            2：PN11
            3：PN15
            4：PN23
            5：PN31
            )
     */
    @Column(name = "SourceCode")
    private Integer sourcecode;

    /**
     * I路PCM码型(0：NRZ-L
            1：NRZ-M
            2：NRZ-S
            3：DNRZ
            4：BPL
            5：BPM
            6：BPS
            )
     */
    @Column(name = "CodeType_I")
    private Integer codetypeI;

    /**
     * IQ极性(0：I+Q
            1：I/+Q
            2：I+Q/
            3：I/+Q/
            4：Q+I
            5：Q/+I
            6：Q+I/
            7：Q/+I/
            )
     */
    @Column(name = "IQPolarity")
    private Integer iqpolarity;

    /**
     * I路或合路码速率
     */
    @Column(name = "BitRate_I")
    private Float bitrateI;

    /**
     * Q路PCM码型(0：NRZ-L
            1：NRZ-M
            2：NRZ-S
            3：DNRZ
            4：BPL
            5：BPM
            6：BPS
            )
     */
    @Column(name = "CodeType_Q")
    private Integer codetypeQ;

    /**
     * Q路码速率
     */
    @Column(name = "BitRate_Q")
    private Float bitrateQ;

    /**
     * I路维特比编码(0：Off
            1：G1+G2/
            2：G1+G2
            3：G2/+G1
            4：G2 +G1
            )
     */
    @Column(name = "ViterbiDecoder_I")
    private Integer viterbidecoderI;

    /**
     * Q路维特比编码(0：Off
            1：G1+G2/
            2：G1+G2
            3：G2/+G1
            4：G2 +G1
            )
     */
    @Column(name = "ViterbiDecoder_Q")
    private Integer viterbidecoderQ;

    /**
     * 打孔(0：1/2
            1：2/3
            2：3/4
            3：4/5
            4：5/6
            5：6/7
            6：7/8
            )
     */
    @Column(name = "ViterbiPuncturing")
    private Integer viterbipuncturing;

    /**
     * CADU同步字(0：Enable：使能
            1：Disable：禁止
            )
     */
    @Column(name = "CADUSyncWord")
    private Integer cadusyncword;

    /**
     * 同步字长
     */
    @Column(name = "SyncWordSize")
    private Integer syncwordsize;

    /**
     * 帧长
     */
    @Column(name = "FrameLenght")
    private Integer framelenght;

    /**
     * RS223编码(0：Enable：使能
            1：Disable：禁止
            )
     */
    @Column(name = "RS223")
    private Integer rs223;

    /**
     * RS239编码(0：Enable：使能
            1：Disable：禁止
            )
     */
    @Column(name = "RS239")
    private Integer rs239;

    /**
     * LDPC编码(0：Enable：使能
            1：Disable：禁止
            )
     */
    @Column(name = "LDPC")
    private Integer ldpc;

}